<!--
 * @Author: 李天惊 uf_lee@163.com
 * @Date: 2022-08-15 16:45:26
 * @LastEditors: 李天惊 uf_lee@163.com
 * @LastEditTime: 2023-01-04 22:13:48
 * @FilePath: \grazlink20\uc_sys\src\views\Asset\Medical\components\See.vue
 * Copyright (c) 2022 by 李天惊 uf_lee@163.com, All Rights Reserved. 
-->
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { ElButton } from 'element-plus'

import { ContentWrap } from '@/components/ContentWrap'
// import { Descriptions } from '@/components/Descriptions'
import { UploadMultiple } from '@/components/UploadMultiple'
import { Dialog } from '@/components/Dialog'
import { Table } from '@/components/Table'

// 获取字典
// import { useIcon } from '@/hooks/web/useIcon'
// import { useCache } from '@/hooks/web/useCache'
import { dbMonthReportSeeApi } from '@/api/forms'
// const { wsCache } = useCache()

/****************************** 变量 start ******************************/
// const dict: any = wsCache.get('dict')
const data = ref<any>({})
// const iconFile = useIcon({ icon: 'ic:outline-file-present' })
// const actionType = ref('')
const dialogVisible = ref(false)
const dialogTitle = ref('')
// const d_row = ref<any>({})
const dFile = ref([])
/****************************** 变量 end ******************************/

/****************************** 组件参数 start ******************************/
// 获取参数
const props = defineProps({
  currentRow: {
    type: Object,
    default: () => null
  },
  detailSchema: {
    type: Array,
    default: () => []
  },
  id: {
    type: String,
    default: null
  }
})
/****************************** 组件参数 end ******************************/

/****************************** 函数方法 start ******************************/
// 字典通过value获取label
// const getDictLabel = (type, value) => {
//   let data = dict[type].find((item) => {
//     return item.value == value
//   })
//   return data ? data.label : ''
// }

const detailedData = ref()
const DrugdetailedData = ref()

// 调用查看接口获取信息
const getMedicalOrderSee = async () => {
  if (props.id) {
    const res = await dbMonthReportSeeApi({ id: props.id })
    if (res) {
      DrugdetailedData.value = await res.data
    }
  } else {
    detailedData.value = []
    DrugdetailedData.value = []
    data.value.fileData = []
  }
}

const y_columns = reactive<TableColumn[]>([
  // {
  //   field: 'index',
  //   label: '序号',
  //   type: 'index',
  //   width: 30
  // },
  // {
  //   field: 'd_id',
  //   label: 'd_id',
  //   width: 150
  // },
  {
    field: 'center',
    label: '月报',
    children: [
      {
        field: 'cls',
        label: '存栏数'
        // children: [
        //   { field: '平均', label: '平均增重', width: 100 },
        //   { field: '平均', label: '总增重', width: 80 }
        // ]
      },
      {
        field: 'rls',
        label: '入栏数'
      },
      {
        field: 'cls2',
        label: '出栏数'
      },
      {
        field: 'clzzl',
        label: '存栏总重量',
        width: 100
      },
      {
        field: 'rlzzl',
        label: '入栏总重量',
        width: 100
      },
      {
        field: 'clzzl2',
        label: '入出栏总重量栏数',
        width: 140
      },
      {
        field: 'zzzl',
        label: '总增重量',
        width: 100
      },
      {
        field: 'pjzz',
        label: '平均增重',
        width: 100
      },
      {
        field: 'hqj',
        label: '行情价'
      },
      {
        field: 'zzz',
        label: '总增值'
      },
      {
        field: 'pjzz2',
        label: '平均增值',
        width: 100
      },
      {
        field: 'dxcls',
        label: '低效存栏数',
        width: 100
      },
      {
        field: 'zrdxls',
        label: '转入低效栏数',
        width: 110
      },
      {
        field: 'zcdxls',
        label: '转出低效栏数',
        width: 110
      },
      {
        field: 'cldxls',
        label: '出栏低效栏数',
        width: 110
      },
      {
        field: 'dxclzzl',
        label: '低效存栏总重量',
        width: 120
      },
      {
        field: 'zrdxlzzl',
        label: '转入低效栏总重量',
        width: 120
      },
      {
        field: 'zcdxlzzl',
        label: '转出低效栏总重量',
        width: 120
      },
      {
        field: 'cldxlzzl',
        label: '出栏低效栏总重量',
        width: 120
      },
      {
        field: 'dxzzzl',
        label: '低效总增重量',
        width: 100
      },
      {
        field: 'dxpjzzl',
        label: '低效平均增重量',
        width: 120
      },
      {
        field: 'dxflhzzxl',
        label: '低效分栏后增重效率',
        width: 120
      },
      {
        field: 'sbsl',
        label: '生病数量'
      },
      {
        field: 'sbbfb',
        label: '生病百分比'
      },
      {
        field: 'fyje',
        label: '费用金额'
      },
      {
        field: 'twslje',
        label: '投喂饲料金额',
        width: 120
      },
      {
        field: 'sqclzzl',
        label: '上期存栏总重量',
        width: 140
      },
      {
        field: 'sqdxclzzl',
        label: '上期低效存栏总重量',
        width: 180
      },
      {
        field: 'sqdxzcbqzlhj',
        label: '上期低效资产本期重量合计',
        width: 200
      },
      {
        field: 'sjlr',
        label: '实现利润',
        width: 100
      }
    ]
  }
])
// const action = async (type: string, row: any = {}) => {
//   actionType.value = type
//   switch (type) {
//     case 'file_d':
//       dialogTitle.value = '附件'
//       d_row.value = row
//       if (row.file) {
//         dFile.value = JSON.parse(row.file)
//       } else {
//         dFile.value = []
//       }
//       dialogVisible.value = true
//       break
//     default:
//       console.log('未知类型')
//   }
// }
/****************************** 函数方法 end ******************************/

/****************************** 初始化 start ******************************/
const init = async () => {
  // 调用查看接口查询数据
  await getMedicalOrderSee()
}
init()
/****************************** 初始化 end ******************************/
</script>

<template>
  <div>
    <ContentWrap title="月报数据">
      <Table :columns="y_columns" :data="[DrugdetailedData]" :selection="false" :border="true" />
    </ContentWrap>

    <Dialog v-model="dialogVisible" :title="dialogTitle">
      <div>
        <UploadMultiple
          ref="dFileRef"
          v-model="dFile"
          :response="{
            url: 'file_url',
            name: 'file_name',
            file_type: 'file_type'
          }"
          disabled
        />
      </div>

      <template #footer>
        <ElButton @click="dialogVisible = false">关闭</ElButton>
      </template>
    </Dialog>
  </div>
</template>
